package myzzyl.controller;



import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import myzzyl.constants.CommonIntField;
import myzzyl.domain.dto.BedDto;
import myzzyl.domain.pojo.Bed;
import myzzyl.domain.vo.BedVo;
import myzzyl.domain.vo.ProductVo;
import myzzyl.response.BaseResponse;
import myzzyl.service.BedService;
import myzzyl.service.IotService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/iot")
@Tag(name = "iot产品相关")
@Slf4j
public class IotController {

    @Autowired
    private IotService iotService;

    /**
     * 同步华为云Iot管理平台下的所有产品
     */
    @PostMapping("/syncProductList")
    public BaseResponse<Void> syncProductList() {
        log.info("同步华为云Iot管理平台下的所有产品");
        iotService.syncProductList();
        return BaseResponse.success();
    }


    /**
     * 获取华为云Iot管理平台下的所有产品
     */
    @GetMapping("/allProduct")
    public BaseResponse<List<ProductVo>> allProduct() {
        log.info("获取华为云Iot管理平台下的所有产品");
        return BaseResponse.success(iotService.allProduct());
    }


//    /**
//     * 获取产品详情
//     */
//    @GetMapping("/read/{id}")
//    public BaseResponse<Bed> getInfo(@PathVariable Long id) {
//        log.info("获取产品详情:{}", id);
//        return BaseResponse.success(iotService.getInfo(id));
//    }
//
//
//    /**
//     * 新增产品
//     */
//    @PostMapping("/create")
//    public BaseResponse<Boolean> add(@RequestBody BedDto bedDto) {
//        log.info("新增产品:{}", bedDto);
//        return BaseResponse.success(iotService.add(bedDto));
//    }
//
//
//    /**
//     * 编辑产品
//     */
//    @PutMapping("/update")
//    public BaseResponse<Boolean> edit(@RequestBody BedDto bedDto) {
//        log.info("编辑产品:{}", bedDto);
//        return BaseResponse.success(iotService.edit(bedDto));
//    }
//
//    /**
//     * 删除产品
//     */
//    @DeleteMapping("/delete/{id}")
//    public BaseResponse<Boolean> remove(@PathVariable Long id) {
//        log.info("删除产品:{}", id);
//        return BaseResponse.success(iotService.deleteBedById(id));
//    }
}
